对二维或三维散点数据插值 | 您所在的位置:网站首页 › matlab griddata函数用法 › 对二维或三维散点数据插值 |
打开实时脚本 使用 groupsummary 消除重复的采样点,并在调用 scatteredInterpolant 之前控制其合并方式。 创建一个由采样点位置组成的 200×3 矩阵。在最后五行添加重复的点。 P = -2.5 + 5*rand(200,3); P(197:200,:) = repmat(P(196,:),4,1);创建一个由采样点上的随机值组成的向量。 V = rand(size(P,1),1);如果您尝试对重复采样点使用 scatteredInterpolant,它会引发警告,并对 V 中的对应值求平均值以产生一个唯一点。但您可以在创建插值之前使用 groupsummary 来消除重复点。如果要使用求平均值以外的方法合并重复点,此操作尤其有用。 使用 groupsummary 消除重复采样点,并在重复采样点位置保留 V 中的最大值。指定采样点矩阵作为分组变量,指定对应值作为数据。 [V_unique,P_unique] = groupsummary(V,P,@max);由于分组变量有三列,groupsummary 以元胞数组形式返回唯一组 P_unique。将元胞数组转换回矩阵。 P_unique = [P_unique{:}];创建插值。由于采样点现在是唯一的,scatteredInterpolant 不会发出警告。 I = scatteredInterpolant(P_unique,V_unique); |
CopyRight 2018-2019 实验室设备网 版权所有 |